At present, protection of personal information and confidential information has become more important, and thus service markets using such information have expanded. As such services, for example, there are services utilizing positional information of personal users acquirable from smartphones. Thus, secret technologies capable of utilizing and applying data while protecting personal information and confidential information have attracted attention. Of the secret technologies, there are technologies for using encryption technologies or statistical technologies according to data classification and service requisites.
As the secret technologies for using encryption technologies, there are homomorphic encryption technologies. A homomorphic encryption technology is one of the public key encryption schemes using a pair of different keys between encryption and decryption and is encryption having a function of operating data with the data encrypted.
When homomorphic encryption technologies are used, encrypted texts of calculation results obtained through addition or multiplication may be obtained by adding or multiplying encrypted texts without decrypting the encrypted texts. The properties of the homomorphic encryption technology are expected to be used for electronic voting and electronic cash fields or recent cloud computing fields. As homomorphic encryption schemes related to addition or multiplication, there are known RSA encryption scheme in which only multiplication is possible and Additive ElGamal encryption in which only addition is possible. In multiplicative homomorphic encryption, when encrypted texts of plain texts (messages) a and b are assumed to be E(a) and E(b), an encrypted text E(a·b) of a product a·b of the plain texts may be calculated from E(a) and E(b). In additive homomorphic encryption, when encrypted texts of plain texts a and b are assumed to be E(a) and E(b), an encrypted text E(a+b) of a sum a+b of the plain texts may be calculated from E(a) and E(b). When the homomorphic encryption schemes are used, encrypted texts of calculation results obtained through addition or multiplication may be obtained by adding or multiplying encrypted texts without description of the encrypted texts. The properties of the homomorphic encryption technologies are expected to be used for electronic voting and electronic cash fields or recent cloud computing fields.
In recent years, fully homomorphic encryption has been known as encryption that has homomorphism in regard to both of addition and multiplication (for example, C. Gentry, “Fully Homomorphic encryption using ideal lattices”, STOC2009, pp. 169 to 178, 2009 and C. Gentry and S. Halevi, “Implementing Gentry's Fully-Homomorphic Encryption Scheme”, EUROCRYPT 2011, LNCS 6632, pp. 129 to 148, 2011). When addition and multiplication may be executed in encrypted states, operations such as exclusive OR, logical AND, and Negation may be executed in the encrypted states. That is, fully homomorphic encryption is encryption that has homomorphism for operations executed by all logic circuits. At first, only theoretical implementation methods have been made public and practical configuring methods have not been disclosed. However, not only specific configuring examples of key generation methods but also encryption schemes expanding types of data which may be encrypted have been proposed. Further, there is somewhat homomorphic encryption capable of executing both of addition and multiplication a limited number of times. Thus, since an encryption size and a processing performance needed for the processing by this encryption scheme may be considerably less than those of the fully homomorphic encryption, more practical operations are expected.
In generally, encryption technologies are used for encryption processing systems that verify similarity between two pieces of information. An example of the encryption processing systems includes a biometric authentication system (for example, Yasuda, Yajima, Shimoyama, and Kogure, “Secret totalization of purchase histories of companies in cloud”, SCIS 2012). For example, in an encryption processing system in which homomorphic encryption is applied, information does not leak and high security may be achieved since the information is encrypted and registered in a calculation server.